// 声明食物的类
class Food{
    constructor(option){
        // 构造函数
        // 避免传入的参数数据类型不对，或者没有传参
        option = option instanceof Object ? option : {};
        // 传入数据可能是数组等对象，所以需要进一步判断
        this.width = option.width || 20;
        this.height = option.height || 20;
        this.x = option.x || 0;
        this.y = option.y || 0;
        this.color = option.color || "green";
        // 增加一条属性，存储将来这个对象渲染出来的所有div元素。
        this.elements = [];
    }
    // 把食物渲染到页面上
    render(map){
        // 创建一个新的div元素
        this.ele = document.createElement("div");
        this.x = Tools.getRandom(0, map.clientWidth / this.width - 1) * this.width;
        this.y = Tools.getRandom(0, map.clientHeight / this.height - 1) * this.height;
        this.ele.style.width = this.width + "px";
        this.ele.style.height = this.height + "px";
        this.ele.style.left = this.x + "px";
        this.ele.style.top = this.y + "px";
        this.ele.style.backgroundColor = this.color;
        this.ele.style.position = "absolute";
        // 让新元素添加到指定的父级中
        map.appendChild(this.ele);
        this.elements.push(this.ele);
    }
    // 食物删除方法
    remove(map,i){
        // 将元素从html结构中删除
        // 将元素从数组中删除
        map.removeChild(this.elements[i]);
        this.elements.splice(i, 1);
    }
}